//
// Created by PC on 2023/6/16.
/*
 https://www.luogu.com.cn/problem/T344551
GESP 2023.6 三级真题 编程第一题
 T1 春游
时间限制: 1000MS
内存限制: 256MB
分数: 100
--描述
老师带领同学们春游。已知班上有 N 位同学，每位同学有从 0到N - 1 的唯一编号.
 到了集合时间，老师确认是否所有同学都到达了集合地点，就让同学们报出自己的编号,
 到达的同学都会报出自己的编号，不会报出别人的编号，但有的同学很顽皮，会多次报出。
 你能帮老师找出有哪些同学没有到达吗?
--输入描述
输入包含 2 行。第一行包含两个整数 N 和 M，表示班级有 N 位同学，同学们共有 M次报出编号。
 约定 2 <= N,M <= 1000.
第二行包含 M 个整数，分别为 M 次报出的编号。约定所有编号都在合理范围内。
--输出描述
输出一行。如果所有同学都到达，则输出 N;否则由小到大输出所有未到达的同学编号,空格分隔。
用例输入 1
3 3
0 2 1
用例输出 1
3
用例输入 2
3 5
0 0 0 0 0
用例输出 2
1 2
 * */
//用数组桶的方式保存信息
//


#include <iostream>

using namespace std;

int main()
{
    int n,m; // n个学生(0~n-1), 报数m次
    cin>>n>>m;
    int arr[n]={0};
//    for (int i = 0; i < n; ++i)
//    {
//        cout<<arr[i];
//    }
    int num; // 每次报数的学号
    bool all=true; // 标记是不是都到了
    for (int i = 0; i < m; ++i)
    {
        cin>>num;
        arr[num]++;
    }
    for (int i = 0; i < n; ++i)
    {
        // arr[i]为零,说明未报出学号
        if (arr[i]==0)
        {
            all=false;
            cout<<i<<' ';
        }
    }
    if (all)
        cout<<n;
    return 0;
}